XSS (Cross-Site Scripting) এবং CSRF (Cross-Site Request Forgery) প্রতিরোধ

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) ASP.Net Core Security Best Practices |
213
213

XSS (Cross-Site Scripting) এবং CSRF (Cross-Site Request Forgery) হল দুটি সাধারণ নিরাপত্তা হুমকি যা ওয়েব অ্যাপ্লিকেশনগুলোর জন্য বিপজ্জনক হতে পারে। এই দুটি আক্রমণ বিভিন্ন ধরনের সুরক্ষা ঝুঁকি তৈরি করতে পারে, যেমন ব্যবহারকারীর ডেটা চুরি বা সিস্টেমের অপ্রত্যাশিত আচরণ। এই টিউটোরিয়ালে আমরা XSS এবং CSRF আক্রমণ প্রতিরোধের পদ্ধতিগুলি আলোচনা করব।


XSS (Cross-Site Scripting)


XSS হল একটি ধরনের আক্রমণ যেখানে আক্রমণকারী ব্যবহারকারীর ব্রাউজারে ক্ষতিকর স্ক্রিপ্ট কোড ইনজেক্ট করে। এই স্ক্রিপ্ট কোডটি ব্যবহারকারীর ইন্টারঅ্যাকশন বা ডেটার ওপর আক্রমণ করতে পারে, যেমন তথ্য চুরি বা ব্যবহারকারীকে ক্ষতিকর ওয়েবসাইটে রিডিরেক্ট করা।

XSS আক্রমণের প্রধান উদ্দেশ্য হল ব্রাউজারে স্ক্রিপ্ট চালানো, যা ব্যবহারকারীর পক্ষ থেকে অবৈধ কাজ করতে পারে, যেমন সেশন হাইজ্যাকিং (Session Hijacking), কুকি চুরি বা ফিশিং।

XSS আক্রমণ তিনটি প্রধান ধরনের হতে পারে:

  1. Stored XSS: আক্রমণকারী ক্ষতিকর কোড একটি সার্ভারে স্টোর করে, যা পরবর্তী সময়ে অন্য ব্যবহারকারীর কাছে রেন্ডার হয়।
  2. Reflected XSS: আক্রমণকারী ক্ষতিকর কোড একটি ইউআরএল বা ইনপুট মাধ্যমে রিফ্লেক্ট করে পাঠায়, যা পরে ব্রাউজারে এক্সিকিউট হয়।
  3. DOM-based XSS: আক্রমণকারী JavaScript কোড ব্যবহার করে ব্রাউজারের ডকুমেন্ট অবজেক্ট মডেল (DOM) পরিবর্তন করে আক্রমণ চালায়।

XSS প্রতিরোধের পদ্ধতি

  • Output Encoding: ব্যবহারকারীর ইনপুটকে সঠিকভাবে এনকোড করা উচিত, যাতে ব্রাউজার কোডটি স্ক্রিপ্ট হিসেবে এক্সিকিউট না করে। HTML, JavaScript, এবং URL এনকোডিং ব্যবহৃত হতে পারে।
    • উদাহরণ: ASP.NET Core এ @Html.Encode() অথবা @Url.Encode() ব্যবহার করা।
  • Content Security Policy (CSP): এটি একটি নিরাপত্তা ফিচার যা ওয়েবপেজের স্ক্রিপ্ট ও রিসোর্স লোডিং নিয়ন্ত্রণ করে। CSP নির্দিষ্ট করে দেয় কোন ডোমেইন থেকে স্ক্রিপ্ট ও অন্যান্য রিসোর্স লোড হবে।
  • HTTPOnly কুকি ফ্ল্যাগ: কুকিগুলিকে HttpOnly হিসেবে চিহ্নিত করুন, যাতে JavaScript কোড কুকিগুলি অ্যাক্সেস করতে না পারে।
  • X-XSS-Protection Header: এই HTTP হেডারটি একটিভেট করলে ব্রাউজার XSS আক্রমণ সনাক্ত করে প্রতিরোধ করতে সাহায্য করে।
  • Input Validation: ব্যবহারকারীর ইনপুট সবসময় ভ্যালিডেট করতে হবে, যাতে অবাঞ্ছিত ডেটা ফিল্টার করা যায়।

CSRF (Cross-Site Request Forgery)


CSRF হল একটি আক্রমণ যেখানে আক্রমণকারী ব্যবহারকারীকে একটি অনাকাঙ্ক্ষিত রিকোয়েস্ট পাঠানোর জন্য প্ররোচিত করে। এই আক্রমণের মাধ্যমে, আক্রমণকারী একটি বৈধ ব্যবহারকারীর সেশন ব্যবহার করে কোনো অ্যাকশন (যেমন পাসওয়ার্ড পরিবর্তন বা ফান্ড ট্রান্সফার) সম্পন্ন করতে পারে।

CSRF আক্রমণ সাধারণত ওয়েব অ্যাপ্লিকেশনের ডাটা ম্যানিপুলেশন বা স্টেট-চেঞ্জিং রিকোয়েস্টগুলিতে ঘটতে পারে, যেমন: ফর্ম সাবমিশন, পাসওয়ার্ড রিসেট, এবং অন্যান্য ম্যানিপুলেশন অ্যাকশন।

CSRF প্রতিরোধের পদ্ধতি

  • Anti-CSRF Tokens: CSRF প্রতিরোধের একটি গুরুত্বপূর্ণ পদ্ধতি হল র্যান্ডম টোকেন ব্যবহার করা। যখন ব্যবহারকারী একটি ফর্ম সাবমিট করেন, তখন সার্ভার একটি টোকেন জেনারেট করে, যা পরবর্তীতে ব্যবহারকারী ফর্মের সাথে পাঠাতে হয়। টোকেনটি সার্ভারের সাথে মিলিয়ে দেখা হয়, যদি মিলে না যায় তবে রিকোয়েস্টটি বাতিল করা হয়।

    ASP.NET Core-এ CSRF প্রতিরোধ করতে ValidateAntiForgeryToken অ্যাট্রিবিউট ব্যবহার করা যায়।

    [HttpPost]
    [ValidateAntiForgeryToken]
    public IActionResult SubmitForm(FormData data)
    {
        // Form submission logic
    }
    
  • SameSite Cookies: SameSite কুকি অ্যাট্রিবিউটটি ব্রাউজারকে নির্দেশ দেয় যে শুধুমাত্র সেই ডোমেইন থেকে কুকি পাঠানো যাবে, যা প্রথমে কুকিটি সেট করেছে। এটি CSRF আক্রমণ প্রতিরোধে সাহায্য করে।
    • উদাহরণ: SameSite=Strict অথবা SameSite=Lax
  • CORS (Cross-Origin Resource Sharing): CORS কনফিগারেশন ব্যবহার করে আপনি কন্ট্রোল করতে পারেন কোন ডোমেইন থেকে আপনার অ্যাপ্লিকেশনের রিকোয়েস্ট গ্রহণ করা হবে। এটা CSRF আক্রমণ প্রতিরোধে সহায়ক হতে পারে।
  • Double Submit Cookies: এখানে, আপনি দুটি আলাদা কুকি ব্যবহার করেন - একটি "ব্যবহারকারী সেশন" এবং অন্যটি "CSRF টোকেন" হিসেবে। ফর্ম সাবমিশনের সময় সার্ভার এই দুটি কুকির মান যাচাই করে।

XSS এবং CSRF এর মধ্যে পার্থক্য

বিষয়XSSCSRF
উদ্দেশ্যব্যবহারকারীর ব্রাউজারে স্ক্রিপ্ট চালানোব্যবহারকারীর পক্ষ থেকে অনিচ্ছাকৃত রিকোয়েস্ট পাঠানো
কিভাবে কাজ করেআক্রমণকারী ক্ষতিকর স্ক্রিপ্ট ইনজেক্ট করেআক্রমণকারী ব্যবহারকারীকে এক্সপ্লয়েটেড রিকোয়েস্ট পাঠায়
লক্ষ্যব্যবহারকারীর ডেটা চুরি বা ক্ষতিকর কার্যকলাপব্যবহারকারীর সেশন ব্যবহার করে অননুমোদিত অ্যাকশন করা
প্রতিরোধের পদ্ধতিOutput Encoding, CSP, HttpOnly CookiesAnti-CSRF Tokens, SameSite Cookies, CORS

সারাংশ


XSS এবং CSRF হল দুটি ভিন্ন ধরনের ওয়েব অ্যাপ্লিকেশন সিকিউরিটি ঝুঁকি, তবে উভয়ই ব্যবহারকারীর নিরাপত্তার জন্য বিপজ্জনক। XSS আক্রমণে ক্ষতিকর স্ক্রিপ্ট ব্যবহারকারীর ব্রাউজারে এক্সিকিউট করা হয়, যা ব্যবহারকারীর তথ্য চুরি বা ফিশিং করতে পারে। অপরদিকে, CSRF আক্রমণে আক্রমণকারী ব্যবহারকারীর সেশনকে ব্যবহার করে অননুমোদিত রিকোয়েস্ট পাঠায়। উভয় ধরনের আক্রমণ প্রতিরোধের জন্য যথাযথ নিরাপত্তা পদ্ধতি ব্যবহার করা আবশ্যক, যেমন Input Validation, Anti-CSRF Tokens, CSP, এবং SameSite Cookies

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion